package com.demo.webapp.kcfinder;

import javax.servlet.http.HttpServletRequest;

/**
 * KCFinderActionMapping实现类
 * 根据KCFinder的特殊性创建ActionMapping
 * 注意：如果修改KCFinder的Action请求,则该对象也需要做对应处理
 * 默认的实用KCFinder的默认Action规则
 * 图片：
 * http://kcfinder.sunhater.com/demo/kcfinder/browse.php?type=images&lng=en&act=thumb&file=Cosmos_1999_vaisseau2.jpg&dir=images%2Fpublic&stamp=7ed30a7506f402ad0b29869b895d4a61
 * 文档树：
 * http://kcfinder.sunhater.com/demo/kcfinder/browse.php?type=images&lng=en&act=init
 * 文档树展开：
 * http://kcfinder.sunhater.com/demo/kcfinder/browse.php?type=images&lng=en&act=expand
 * 取得文档树下文件：
 * http://kcfinder.sunhater.com/demo/kcfinder/browse.php?type=images&lng=en&act=chDir
 * 文档图片查看：
 * http://kcfinder.sunhater.com/upload/images/public/blonde.jpg?ts=1333433000278
 * 文档图片下载：
 * http://kcfinder.sunhater.com/demo/kcfinder/browse.php?type=images&lng=en&act=download
 * 文档图片删除
 * http://kcfinder.sunhater.com/demo/kcfinder/browse.php?type=images&lng=en&act=delete
 * 文档树创建节点：
 * http://kcfinder.sunhater.com/demo/kcfinder/browse.php?type=images&lng=en&act=newDir
 * 文档删除：
 * http://kcfinder.sunhater.com/demo/kcfinder/browse.php?type=images&lng=en&act=deleteDir
 * 文档重命名：
 * http://kcfinder.sunhater.com/demo/kcfinder/browse.php?type=images&lng=en&act=renameDir
 * @author ryuu.kk
 *
 */
public class KCFinderActionMappingBuilder extends DefaultActionMappingBuilder {

	public KCFinderActionMappingBuilder() {
		
	}
	
	@Override
	public ActionMapping getMapping(HttpServletRequest request) {
		
		String method = request.getParameter("act");
		ActionMapping mapping = super.getMapping(request);
		if (mapping != null) {
			mapping.setMethod(method);
		} else {
			//使用默认方法
			mapping.setMethod("execute");
		}
		
		return mapping;
	}

	@Override
	public String getMappingUri(ActionMapping mapping) {
		return super.getMappingUri(mapping);
	}
	
}
